package com.thomas.jvm;

import java.util.ArrayList;
import java.util.List;

/**   
* @Description: VM Args: -XX:PermSize=10M -XX:MaxPermSize=10M 
* @author thomas_liu  
* @date 2018年6月13日 上午10:16:05 
* @version V1.0   
*/
public class RuntimeConstantPoolOOM {
	
	public static void main(String[] args) {
		//使用List保持着常量池引用，避免Full GC回收常量池行为
		List<String> list = new ArrayList<String>();
		
		//10MB的PermSize在integer范围内足够产生OOM了
		int i = 0;
		while(true){
			list.add(String.valueOf(i++).intern());
		}
	}
	

}
